Waterfall or Cascade Model
-
Stage - Requirements Definition:
In this stage, the requirements of the product/software/system being developed are documented,
including its behavior, target hardware, etc., which are necessary for the proper functioning
of the software. Sometimes this stage is further divided into two - System Analysis and Requirements Analysis.
-
Stage - System and Software Design:
In the second stage, the system and software being developed are designed, focusing on
their main characteristics. Key characteristics may include: Data structures,
software architecture, interfaces, interface properties, and procedural and
algorithmic details. The design results are documented and used to assess
project quality during implementation.
-
Stage - Implementation and Module Testing:
Based on the previously documented design, the third stage involves the development
of the software/system. During development, the program is developed module by module
or as a collection of modules. After programming, module and collection tests are performed.
Depending on the level of detail in the design documentation, the development work
in this stage varies. The more detailed the design, the easier the development work.
-
Stage - Integration and System Testing:
The entire software system is tested. After testing, the product is delivered to the client
or target user group. Testing verifies whether the system performs as previously documented
and checks if the system details are logical.
-
Stage - Operation and Maintenance:
The longest stage in the software life cycle. This involves error correction,
functional changes (based on client, market, environment, or target group
input/needs). Development work repeats all previous stages,
but now only to modify the system, not to develop something new
from scratch.
Each stage results in one or more documents
describing the outcomes achieved in that stage. All documents are approved.
The next stage cannot begin until the previous one is completed,
although some overlap may occur, and information can be passed from one stage to another.
| Advantages |
Disadvantages |
| Flexibility |
Unpredictable |
| Speed; faster time to market |
Focus on here and now |
| Reduced risk |
Relies on collaboration |
Sources:
EUCIP